#include "GPIO.h"		



static void PORT_Init(void)
{	
	CLK_ModuleSrc(CLK_PORTA, CLK_SRC_FIRC64M);	
	CLK_SetClkDivider(CLK_PORTA,CLK_DIV_1);
	SYSCTRL_ResetModule(SYSCTRL_PORTA);
	SYSCTRL_EnableModule(SYSCTRL_PORTA);	
	
	CLK_ModuleSrc(CLK_PORTB, CLK_SRC_FIRC64M);	
	CLK_SetClkDivider(CLK_PORTB,CLK_DIV_1);
	SYSCTRL_ResetModule(SYSCTRL_PORTB);
	SYSCTRL_EnableModule(SYSCTRL_PORTB);	
	
	CLK_ModuleSrc(CLK_PORTC, CLK_SRC_FIRC64M);	
	CLK_SetClkDivider(CLK_PORTC,CLK_DIV_1);
	SYSCTRL_ResetModule(SYSCTRL_PORTC);
	SYSCTRL_EnableModule(SYSCTRL_PORTC);	
	
		
	CLK_ModuleSrc(CLK_PORTD, CLK_SRC_FIRC64M);	
	CLK_SetClkDivider(CLK_PORTD,CLK_DIV_1);
	SYSCTRL_ResetModule(SYSCTRL_PORTD);
	SYSCTRL_EnableModule(SYSCTRL_PORTD);	
	
		
	CLK_ModuleSrc(CLK_PORTE, CLK_SRC_FIRC64M);	
	CLK_SetClkDivider(CLK_PORTE,CLK_DIV_1);
	SYSCTRL_ResetModule(SYSCTRL_PORTE);
	SYSCTRL_EnableModule(SYSCTRL_PORTE);	
	

	
}

static void GPIO_Init(void)
{
	

	SYSCTRL_ResetModule(SYSCTRL_GPIO);			
	SYSCTRL_EnableModule(SYSCTRL_GPIO);			


	PORT_PinmuxConfig(PORT_B, GPIO_5, PTB5_GPIO);	//LED
	GPIO_SetPinDir(PORT_B, GPIO_5, GPIO_OUTPUT);	
	GPIO_ClearPinOutput(PORT_B, GPIO_5);	
	
	PORT_PinmuxConfig(PORT_B, GPIO_2, PTB2_GPIO);	//MCU_CAN_EN
	GPIO_SetPinDir(PORT_B, GPIO_2, GPIO_OUTPUT);	
    GPIO_SetPinOutput(PORT_B,GPIO_2);
	
	PORT_PinmuxConfig(PORT_B, GPIO_3, PTB3_GPIO);	//MCU_CAN_STB_N
	GPIO_SetPinDir(PORT_B, GPIO_3, GPIO_OUTPUT);	
    GPIO_SetPinOutput(PORT_B,GPIO_3);
	
	PORT_PinmuxConfig(PORT_C, GPIO_14, PTC14_GPIO);	//MCU_CAN_ERR_N
	GPIO_SetPinDir(PORT_C, GPIO_14, GPIO_INPUT);	
	//GPIO_ClearPinOutput(PORT_C, GPIO_14);
	
	PORT_PinmuxConfig(PORT_E, GPIO_7, PTE7_GPIO);	//PO_BACKLIGHT
	GPIO_SetPinDir(PORT_E, GPIO_7, GPIO_OUTPUT);	
	GPIO_ClearPinOutput(PORT_E, GPIO_7);
	
	PORT_PinmuxConfig(PORT_D, GPIO_1, PTD1_GPIO);	//KEY1
	GPIO_SetPinDir(PORT_D, GPIO_1, GPIO_INPUT);	
	//GPIO_ClearPinOutput(PORT_D, GPIO_1);
	
	

	

	
}
void Ex_Gpio_Init(void)
{
	PORT_Init();
	GPIO_Init();
}

